package models;

import java.math.BigInteger;
import java.util.Date;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import play.db.jpa.Model;

@Entity
@Table(name = "acervo")
public class Acervo extends Model {

	@Lob @Basic(fetch=FetchType.LAZY) 
	public String acervo;

	public String altura;

	@Lob @Basic(fetch=FetchType.LAZY) 
	public String autor;

	@Lob @Basic(fetch=FetchType.LAZY) 
	@Column(name = "autor_foto", length = 5242880)
	public byte[] autorFoto;

	public String autoria;

	@Lob @Basic(fetch=FetchType.LAZY) 
	@Column(name = "caracteristicas_tecnicas")
	public String caracteristicasTecnicas;

	public String circunferencia;

	public String classe;

	public String comprimento;

	@Column(name = "condicao_de_seguranca")
	public String condicaoDeSeguranca;

	@Lob @Basic(fetch=FetchType.LAZY) 
	public String coordenador;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "coordenador_data")
	public Date coordenadorData;

	@Lob @Basic(fetch=FetchType.LAZY) 
	@Column(name = "coordenador_local")
	public String coordenadorLocal;

	@Lob @Basic(fetch=FetchType.LAZY) 
	@Column(name = "dados_historicos")
	public String dadosHistoricos;

	@Lob @Basic(fetch=FetchType.LAZY) 
	public String descricao;

	public String diametro;

	@Lob @Basic(fetch=FetchType.LAZY) 
	public String endereco;

	public String epoca;

	@Lob @Basic(fetch=FetchType.LAZY) 
	@Column(name = "especificacao_conservacao")
	public String especificacaoConservacao;

	@Lob @Basic(fetch=FetchType.LAZY) 
	@Column(name = "estado_de_conservacao")
	public String estadoDeConservacao;

	@Lob @Basic(fetch=FetchType.LAZY) 
	@Column(nullable = true, length = 5242880)
	public byte[] foto;

	public String largura;

	@Lob @Basic(fetch=FetchType.LAZY) 
	@Column(name = "local_no_predio")
	public String localNoPredio;

	@Lob @Basic(fetch=FetchType.LAZY) 
	public String localidade;

	@Lob @Basic(fetch=FetchType.LAZY) 
	public String marcas;

	@Lob @Basic(fetch=FetchType.LAZY) 
	public String material;

	@Column(name = "modo_de_aquisicao")
	public String modoDeAquisicao;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "modo_de_aquisicao_data")
	public Date modoDeAquisicaoData;
	@Column(nullable = false)
	@Basic(optional = false)
	public String numeracao;

	@Column(name = "numero_de_ordem")
	public String numeroDeOrdem;

	@Column(name = "numero_do_inventario")
	public String numeroDoInventario;
	@Column(nullable = false)
	@Basic(optional = false)
	public String objeto;

	@Lob @Basic(fetch=FetchType.LAZY) 
	public String observacoes;

	public String origem;

	public String peso;

	@Lob @Basic(fetch=FetchType.LAZY) 
	@Column(name = "preenchimento_tecnico")
	public String preenchimentoTecnico;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "preenchimento_tecnico_data")
	public Date preenchimentoTecnicoData;

	public String procedencia;

	public String profundidade;

	@Lob @Basic(fetch=FetchType.LAZY) 
	public String proprietario;

	@Column(name = "protecao_legal")
	public String protecaoLegal;

	@Lob @Basic(fetch=FetchType.LAZY) 
	@Column(name = "referencias_bibliograficas")
	public String referenciasBibliograficas;

	@Lob @Basic(fetch=FetchType.LAZY) 
	@Column(name = "responsavel_endereco")
	public String responsavelEndereco;

	@Lob @Basic(fetch=FetchType.LAZY) 
	public String restauracoes;

	@Lob @Basic(fetch=FetchType.LAZY) 
	public String restauradores;

	@Column(name = "restauradores_data")
	public String restauradoresData;

	public String subclasse;

	public String titulo;

	public String tombamento;

	public BigInteger version;

}
